1. Field of the Invention
The present invention relates to the field of manipulating information in a computer system. Specifically, the present invention relates to the manipulation of different types of data such as alphanumeric text, graphics, or other forms of information visibly displayed within a single document on an output device of a computer system.
2. Prior Art
Computer systems are commonly used for viewing and manipulating different types of information. A few of the more well-known types of information include alphanumeric text, graphics, and other forms of information. In order to manipulate these different types of information, various computer programs called application programs have been developed and made available in the prior art. Such application programs include word processing programs, spreadsheet programs, data base programs, input/output or communications programs, drawing or graphics generation programs, and other application programs for viewing and manipulating a particular defined data type.
Documents created and manipulated using these application programs typically have a data type associated with them. For example, a text document may have a text or word processing data type associated with it. In addition, the information associated with a typical text document is stored in a particular format compatible with a corresponding word processing application program. Similarly, different data types and data formats corresponding to other application programs are associated with documents created or manipulated by those application programs.
The prior art method of associating data types with documents gives rise to many problems. Documents of one data type are typically incompatible with application programs designed to manipulate documents of a different data type. For example, a word processing document typically cannot be manipulated by a graphics application program. Similarly, spreadsheet documents are incompatible with database application programs. Thus, documents in the prior art tend to be compartmentalized within the framework of their associated data type. This limitation severely restricts the opportunity for the transfer of information between documents of different types.
Some application programs provide mechanisms for importing and exporting information from one application to another. Similarly, a well-known technique of cutting and pasting information from one application program into a temporary storage area and subsequently into a second application program is well-known in the art. These mechanisms provide a limited means for transferring information between two application programs; however, some level of manipulation or formatting capability is lost in the transferred information. For example, some word processing programs allow graphics images to be inserted into the text of a word processing document using a cut/paste or import function mechanism. Although the graphics image coexists with the text in the word processing document, some word processors do not allow the graphics image itself to be manipulated in the manner provided by the graphics application program in which the graphics image may have been created. Specifically, lines, polygons, or other graphics shapes can no longer be repositioned or resized once transferred to the word processing document. Similarly, in some word processors, a block of text transferred from a word processing document into a spreadsheet or database application program for example, loses its text formatting capabilities provided by the word processing application program in which the block of text was originally created. Thus, prior art systems have only a limited capability of integrating various types of information into a single environment.
Some prior art programs display information in rectangular portions of a display screen called panes. Other programs support multiple views of various information in pre-defined locations of the display screen. These programs, however, explicitly manage different display screen locations in which information is displayed. No support is provided for displaying different data types nested in the same display location. These prior art systems cannot display any arbitrary data type in any arbitrary display screen location. Furthermore, other programs do not allow multiple views with different view scales in each view.
Other prior art systems include a software product called Ragtime.TM.. Ragtime is a frame-based program in which users draw out frames and work within them. However, Ragtime users must explicitly create all the frames they use. Frames generally map to a specific screen location. Further, Ragtime provides no document structure incorporating various data types. Finally, Ragtime has no database capabilities, and very primitive graphics capabilities. It primarily manipulates text and spreadsheets.
Microsoft Works.TM., developed by Microsoft.TM., Inc. of Redmond, Wash., is a form of an integrated application program. It provides word processing, spreadsheet, database, graphics, and communications capabilities. Microsoft Works typifies what is commonly called a modular structure of integrated software. This structure comprises four or more separate programs in one; the user may create documents of a given type, but there is little or no interaction between the program modules. In both the word processing and spreadsheet modules, graphics objects can be drawn, but there is no separate graphics document type. Drawing in word processing or spreadsheet documents in the prior art is `flat.` There are no frame objects, so there is only one level of structure. The text objects use built-in text editing facilities and do not provide the full word processing capabilities as would be provided by a true text frame. The graphics functionality is limited; it is really a tacked on feature and not a true environment.
What is needed is a totally integrated functional environment. There still may be documents of specific types, but frames may be added to any of them as graphic objects to create an arbitrarily-structured compound document. These frame objects may be manipulated like any graphics object; they may also be activated in order to work within a nested environment.
Thus, a better means for viewing and manipulating information of different data types is needed.